package de.hdu.pms;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

import org.apache.log4j.Logger;

public class Startup {

	private static Logger log = Logger.getLogger(Startup.class); 
	private String driverClass;
	private String user;
	private String password;
	private String defaultDBurl;
	private String newDB;
	

	//Methode zur Initialisierung der Datenbank
	public void initDB(){
		//Anlegen der neuen Datenbank
		log.info("Die neue Datenbank " + newDB + " wird initialisiert!");
		try {
			Class.forName(driverClass).newInstance();
			Connection con = DriverManager.getConnection(defaultDBurl, user, password); 		//Verbindung zur Datenbank
			Statement stmt = con.createStatement();												
			stmt.execute("CREATE DATABASE " + newDB);											//Übergabe des SQL-Befehls
			con.commit();
			con.close();
			log.info("Die Datenbank" + newDB + " wurde angelegt");
			
		} catch (Exception e) {
			log.info("Die Datenbank " + newDB + " wurde nicht angelegt, da sie möglicherweise bereits besteht.");
		} /*catch (InstantiationException e) {
			log.error("Die Treiberklasse kann nicht geöffnet werden. " + e.getMessage());
		} catch (IllegalAccessException e) {
			log.error("Die Treiberklasse kann nicht geöffnet werden. " + e.getMessage());
		} catch (ClassNotFoundException e) {
			log.error("Die Treiberklasse kann nicht geöffnet werden. " + e.getMessage());
		} catch (SQLException e) {
			log.error("Keine Verbindung zur Datenbank oder das anlegen hat nicht funktioniert. " + e.getMessage());
		}*/
	}
	
	
	
		
	
	
	public void setDriverClass(String driverClass) {
		this.driverClass = driverClass;
	}

	public void setUser(String user) {
		this.user = user;
	}

	public void setPassword(String password) {
		this.password = password;
	}


	public void setDefaultDBurl(String defaultDBurl) {
		this.defaultDBurl = defaultDBurl;
	}

	public void setNewDB(String newDB) {
		this.newDB = newDB;
	}
	
}